import request from '@/utils/axios'

export type MailTemplateType = {
  id: number
  name: string
  code: string
  accountId: number
  nickname: string
  title: string
  content: string
  params: string
  status: number
  remark: string
}

export interface MailTemplatePageReqType extends PageParam {
  code?: string
  name?: string
  accountId?: number
  status?: number
  create_time?: Date[]
}

export interface MailSendReqType {
  mail: string
  templateCode: string
  templateParams: Map<string, object>
}

/**
 * 消息中心 - 邮箱管理 - 邮件模板接口
 */
export const MailTemplateApi = {
  // 新增
  create: (data: MailTemplateType) => {
    return request.post({ url: '/system/mail-template/create', data, is_mock: true })
  },
  // 修改
  update: (data: MailTemplateType) => {
    return request.put({ url: '/system/mail-template/update', data, is_mock: true })
  },
  // 删除
  delete: (id: number) => {
    return request.delete({ url: '/system/mail-template/delete?id=' + id, is_mock: true })
  },
  // 查询详情
  detail: (id: number) => {
    return request.get({ url: '/system/mail-template/detail?id=' + id, is_mock: true })
  },
  // 查询分页列表
  page: (params: MailTemplatePageReqType) => {
    return request.get({ url: '/system/mail-template/page', params, is_mock: true })
  },
  // 发送邮件
  send: (data: MailSendReqType) => {
    return request.post({ url: '/system/mail-template/send-mail', data, is_mock: true })
  }
}
